package com.hy.convenient.api.controller.conInterface;

import com.hy.convenient.api.pojo.check.Check;
import com.hy.convenient.api.pojo.check.CheckUpdateCheckPojo;
import org.apache.commons.lang3.StringUtils;

import java.util.Map;

/**
 * @Description 公共下载接口
 * @className DownController
 * @Author hdy
 * @Date 2020-12-23 14:45
 * @Version 1.0
 */
public interface DownControllerInterface<T extends Check> extends IBaseControllerInterface {
    /**
     * 下载所有数据
     * @param t
     * @return
     */
     Map<String, Object> downData(T t);

    /**
     * 用于检下载更新数据
     * @param t
     * @return
     */
    Map<String, Object> checkUpdateDateDown(CheckUpdateCheckPojo t);
    /**
     * 用于检查传入的基础数据
     * @param t t
     * @return String
     */
    default String check(T t  ){
        String str = checkUpdate(t);
        if(t.getPageSize() <= 0){
            str+="分页长度不能为0！";
        }
        if(t.getPageSize() >1000){
            str+="分页长度不能大于1000！";
        }
        return str;
    }
    /**
     * 用于检查更新数据
     * @param t t
     * @return String
     */
    default String checkUpdate(T t){
        String str ="";
        if(StringUtils.isEmpty(t.getMerId())){
            str+="商户号不能为空！";
        }
        if(StringUtils.isEmpty(t.getCwbm())){
            str+="仓位编码不能为空！";
        }
        if(StringUtils.isEmpty(t.getSign())){
            str+="签名不能为空！";
        }
        return str;
    }
}
